Skip to content

feat(gradle): add Gradle ecosystem with toml-span catalog parser#66

Merged
bug-ops merged 3 commits intomainfrom
feature/gradle-toml-span
Feb 22, 2026
Merged

feat(gradle): add Gradle ecosystem with toml-span catalog parser#66
bug-ops merged 3 commits intomainfrom
feature/gradle-toml-span

Conversation

@bug-ops
Copy link
Owner

@bug-ops bug-ops commented Feb 22, 2026

Summary

  • Add deps-gradle crate with support for three Gradle manifest formats:
    • Version Catalog (libs.versions.toml) — parsed via toml-span for reliable span tracking
    • Kotlin DSL (build.gradle.kts) — regex-based parsing
    • Groovy DSL (build.gradle) — regex-based parsing
  • Reuse MavenCentralRegistry from deps-maven for version resolution
  • Extract shared LineOffsetTable, position_in_range, complete_package_names_generic to deps-core
  • Use toml-span instead of toml_edit for catalog parser — eliminates inline table span workarounds
  • Add Google Maven repository routing for Android packages (androidx.*, com.google.firebase.*, com.google.android.*, com.android.*)

Test plan

  • 1122 workspace tests pass (including 12 catalog-specific tests)
  • cargo clippy --workspace -- -D warnings clean
  • cargo +nightly fmt --check clean
  • RUSTDOCFLAGS="-D warnings" cargo doc --no-deps --workspace clean
  • Manual testing with nowinandroid libs.versions.toml

@github-actions github-actions bot added documentation Improvements or additions to documentation rust Rust code changes needs-review Needs review tests Test changes size: XXL >1000 lines changed labels Feb 22, 2026
Add deps-gradle crate supporting three Gradle manifest formats:
- Version Catalog (libs.versions.toml) via toml-span for reliable spans
- Kotlin DSL (build.gradle.kts) via regex parsing
- Groovy DSL (build.gradle) via regex parsing

Reuses MavenCentralRegistry from deps-maven for version resolution.
Extract shared LineOffsetTable, position_in_range, and
complete_package_names_generic to deps-core for DRY compliance.
@bug-ops bug-ops force-pushed the feature/gradle-toml-span branch from a0a11b1 to 08a458d Compare February 22, 2026 22:00
@github-actions github-actions bot added size: L 200-500 lines changed and removed size: XXL >1000 lines changed labels Feb 22, 2026
Route androidx.*, com.google.firebase.*, com.google.android.*,
com.google.gms.*, and com.android.* packages to Google Maven
(dl.google.com/dl/android/maven2) instead of Maven Central.
Uses prefix-based routing for zero extra network requests.
@bug-ops bug-ops enabled auto-merge (squash) February 22, 2026 22:45
@bug-ops bug-ops merged commit e3e3903 into main Feb 22, 2026
20 checks passed
@bug-ops bug-ops deleted the feature/gradle-toml-span branch February 22, 2026 22:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation needs-review Needs review rust Rust code changes size: L 200-500 lines changed tests Test changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant